package com.molichuxing.framework.utils;

import org.apache.commons.lang3.StringUtils;

import java.math.BigDecimal;
import java.util.regex.Pattern;

/**
 * @author: zhaopenghui
 * @create_date: 2019年10月30日
 **/
public class DateTypeUtil {

    /**
     * 字符串转换为BigDecimal
     */
    public static BigDecimal strCastBigDecimal(String str) {
        if (StringUtils.isBlank(str) || !Pattern.matches("^\\d+\\.??\\d+$", str)) {
            return null;
        }

        try {
            return new BigDecimal(str);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    /**
     * 字符串转换为int类型
     */
    public static int strCastInt(String str) {
        if (StringUtils.isBlank(str) || !Pattern.matches("^\\d*$", str)) {
            return 0;
        }

        try {
            return Integer.parseInt(str);
        } catch (Exception e) {
            e.printStackTrace();
            return 0;
        }
    }

    /**
     * 字符串转换为Double型
     */
    public static Double strCastDouble(String str) {
        if (StringUtils.isBlank(str)) {
            return null;
        }

        try {
            return Double.parseDouble(str);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }

    }


    /**
     * Integer转换为Long
     */
    public static Long integerCastLong(Integer param) {
        if (null == param) {
            return null;
        }

        try {
            return param.longValue();
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }


}
